package com.bsoft.rpc.basic.dynamicProxy.jdkproxy;

import com.alibaba.fastjson.JSON;
import com.bsoft.rpc.basic.dynamicProxy.OrgInfo;
import com.bsoft.rpc.basic.dynamicProxy.OrgService;

import java.lang.reflect.Proxy;

public class MainTest {
    public static void main(String[] args) {

        JDKProxyHandler proxyHandler = new JDKProxyHandler(OrgService.class, "172.0.0.1", 8080);
        // 通过Proxy.newProxyInstance来动态生成代理类
        OrgService proxyInstance = (OrgService) Proxy.newProxyInstance(OrgService.class.getClassLoader(), new Class[]{OrgService.class}, proxyHandler);
        // 根据动态产生的实例执行方法（看上去好像在调用本地方法一样）
        OrgInfo info = proxyInstance.getOrgById("aaa");
        System.out.println("========>拿到接口返回结果<========");
        System.out.println(JSON.toJSONString(info));
    }
}
